package beans;

import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;

import dao.ProyectoDao;
import excepciones.DaoException;
import modelo.Proyecto;

@ManagedBean //(name = "LoginBean")
@SessionScoped
public class ListProyectosBean {
	
	@ManagedProperty(value="#{loginBean}")
	private LoginBean loginBean;
	
	private Long proyectoId;
	private Long selected;
	private List<Proyecto> proyectos;
	private Boolean puedeCrear = false;
	private String miPerfil;
	
	@PostConstruct
	public void init(){		

		proyectos = loginBean.getObjPerfil().getMisProyectos(loginBean.getObjUsuario());
		miPerfil = this.getLoginBean().getObjPerfil().getNombre();
		/* De acuerdo al Perfil edito o no */
		if (miPerfil.equals("Director")){
			this.setPuedeCrear(true);
		}else{
			this.setPuedeCrear(false);
		}		
	}
	
	public String evaluarProyecto()
	{ 	
		Proyecto proyecto = null;
		ProyectoDao proDao = new ProyectoDao();
		try {
			proyecto = proDao.findById(selected);
		} catch (DaoException e) {
			e.printStackTrace();
		}
		if (proyecto.getMi_estado().toString().equals("En Evaluacion"))
			return "irEvaluarProyecto";
		else
			return "irNoEvalua";
	}

	public LoginBean getLoginBean() {
		return loginBean;
	}
	public void setLoginBean(LoginBean loginBean) {
		this.loginBean = loginBean;
	}


	public List<Proyecto> getProyectos() {
		return proyectos;
	}


	public void setProyectos(List<Proyecto> proyectos) {
		this.proyectos = proyectos;
	}
	
	public String detalleProyecto()
	{ 	
		return "irDetalleProyecto";
	}
	
	public String nuevo(){
		
		setProyectoId(null);
		setSelected(null);
		return "irDetalleProyecto";
	}

	public String volver(){
		System.out.println("irIndex"+this.getLoginBean().getObjPerfil().getNombre());
		return "irIndex"+this.getLoginBean().getObjPerfil().getNombre();
	}

	public Long getProyectoId() {
		return proyectoId;
	}


	public void setProyectoId(Long proyectoId) {
		this.proyectoId = proyectoId;
	}


	public Long getSelected() {
		return selected;
	}

	public void setSelected(Long selected) {
		this.selected = selected;
	}

	public Boolean getPuedeCrear() {
		return puedeCrear;
	}

	public void setPuedeCrear(Boolean puedeCrear) {
		this.puedeCrear = puedeCrear;
	}

	public String getMiPerfil() {
		return miPerfil;
	}

	public void setMiPerfil(String miPerfil) {
		this.miPerfil = miPerfil;
	}

	
	
	
}